草庐IT

python - 清理 MongoDB 的输入

全部标签

ruby - 使用 mongodb/mongoid 运行时更改模型

我必须在mongoid模型中添加几个字段,我知道MongoDB没有迁移,但如果我继续而不删除数据库,使rails完全“重新生成”数据库,它不会显示或使用新的领域!去这里最好的方法是什么?有比删除/重新打开mongodb更软的东西吗?提前致谢卢卡 最佳答案 一般来说,应该可以在运行时用新字段更新旧文档。MongoDB中不需要迁移。您可能想编写rake任务以使用新字段和默认值更新旧文档。您可以通过检查那些默认值为nil的新字段来找到这些文档。更新简单风格:如果您使用默认值定义一个新字段,只要您设置了一个新值,就应该始终使用该值:应用程序

ruby-on-rails - 我如何从 Ruby 代码连接到 mongodb?

我如何从Ruby代码连接到mongodb? 最佳答案 首先,您必须安装MongoDbgem:geminstallmongo然后运行代码:require'rubygems'#notnecessaryforRuby1.9require'mongo'db=Mongo::Connection.new.db("mydb")#ORdb=Mongo::Connection.new("localhost").db("mydb")#ORdb=Mongo::Connection.new("localhost",27017).db("mydb")

ruby - Ruby 通用定界输入的优缺点是什么? (百分比语法)

我不明白为什么有些人在ruby​​中大量使用百分比语法。例如,我正在阅读rubypluginguide它使用如下代码:%w{modelscontrollers}.eachdo|dir|path=File.join(File.dirname(__FILE__),'app',dir)$LOAD_PATH每次看到这样的东西,我都得去查找百分比语法引用,因为我不记得%w是什么意思。这种语法真的比["models","controllers"].each...更可取吗?我认为在后一种情况下,我定义了一个字符串数组更清楚,但在前一种情况下——尤其是对于学习ruby​​的人来说——似乎不太清楚,至少

ruby - MongoDB:无法从 BSON 类型 EOO 转换为 Date

我正在尝试使用聚合框架(使用ruby​​)并像这样投影日期:db['requests'].aggregate([{"$project"=>{_id:0,method:'$method',user:'$user',year:{'$year'=>'$timestamp'}}}])文档是这样的:{_id:ObjectId("5177d7d7df26358289da7dfd"),timestamp:ISODate("2013-04-12T03:58:05+00:00"),method:"POST",status:"200",inputsize:"874",outputsize:"4981",u

Ruby 相当于 Python 的 "array[i:]"选择 i 之后的所有数组元素?

我发现自己想要类似Python的东西ary=[1,2,3,4,5,6,7,8]ary[2:]#=>[3,4,5,6,7,8]这些天所有的时间。解决方案最终总是多行且丑陋。我想知道最优雅的解决方案可能是什么,因为我的不值得展示。 最佳答案 使用Array#drop2.1.0:019>ary.drop(2)=>[3,4,5,6,7,8] 关于Ruby相当于Python的"array[i:]"选择i之后的所有数组元素?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 如何禁用 Ruby on Rails 应用程序中的所有 form_for 输入字段?

我正在尝试让我的Rails应用程序变干一点,所以我想在我的showView中呈现一个表单,但禁用所有输入字段。//show.html.erbf%>最好的方法是什么?感谢您的帮助。 最佳答案 Javascript一种方法是使用JS来完成。在显示View中包含具有特定类的div://show.html.erbf%>然后在你的JS文件中:$('.disable_input:input').prop('disabled',true);rails如果你想在服务器端实际生成它,你可以将一个变量传递给你的局部变量,它会告诉局部变量是否必须在每个字

ruby - 在 Ruby 中从 MongoDB 中检索字段的子集

我试图通过在Ruby中进行的查询从MongoDB获取字段的子集,但它似乎不起作用。它不返回任何结果这是ruby代码:coll.find("title"=>'Halo',:fields=>["title","isrc"])#thisdoesn'twork如果我删除字段散列,它会工作,返回包含所有字段的结果coll.find("title"=>'Halo')#thisworks查看mongodb控制台,第一个查询在mongodb服务器上结束,如下所示:{title:"Halo",fields:["title","isrc"]}如果我尝试从mongo客户端控制台进行查询,它会工作,我会得到结

ruby - 如何将数据通过管道传输到通过标准输入上的 Net::SSH 启动的进程?

我正在本地机器上生成数据源,我想通过Net::SSH将其传输到远程进程。有点像echofoosball|sed's/foo/bar/g'只是echofoosball部分将是本地计算机上的数据馈送。我不要找的是:data="foosball"ssh.exec!("echo#{data}|sed's/foo/bar/g'")我真的想要实时将数据流传输到流程中;) 最佳答案 好吧,我明白了:#!/usr/bin/envrubyrequire'rubygems'require'net/ssh'res=""c=Net::SSH.start("

ruby - 我可以使用 RSpec 模拟标准输入/标准输出来测试控制台读写吗?

我的Ruby程序从stdin读取行并使用puts打印到stdout(终端)。我可以使用RSpec来测试读写吗?我可以像在stdin中编写的那样向我的程序注入(inject)一个字符串,同时检查输出吗?line=STDIN.read.chomp.split另外,我在一个循环中进行读取和写入,直到line[0]被“退出”。我可以在循环运行时进行测试,还是应该调用subject.read_in和subject.write_out? 最佳答案 您可以使用模拟并通过在and_return()方法中列出多个值来多次调用该方法。这些将按照给定的顺

ruby - 在 Ruby 版本管理器 (RVM) 中清理旧引用

我需要释放本地计算机上的磁盘空间,该空间几乎已分配到我的Ruby版本管理器(RVM)目录中。现在,我似乎只有一个ruby​​版本(1.9.2p136):lsoave@ubuntu:~/rails/github/gitwatcher$ruby-vruby1.9.2p136(2010-12-25revision30365)[i686-linux]lsoave@ubuntu:~/rails/github/gitwatcher$lsoave@ubuntu:~/rails/github/gitwatcher$rvmlistrvmrubies=>ruby-1.9.2-p136[i386]lsoav